1. Field of Invention
The present invention relates generally to optical networks. More specifically, the present invention relates to detecting sequence mismatch defects associated with virtual concatenation groups at a dynamic sink.
2. Description of the Related Art
The Synchronous Optical Network (SONET) and Synchronous Digital Hierarchy (SDH) transport hierarchies provide voice and private line services using time division multiplexing (TDM). Within SONET and SDH transport networks, virtual concatenation (VCAT) improves flexibility and the efficiency.
Virtual concatenation (VCAT) is generally an inverse multiplexing technique that enables multiple SONET or SDH channels to be substantially bound into a VCAT group. VCAT is defined, for example, within ITU-T G.707 and ITU-T G.783, which are each incorporated herein by reference. A VCAT group, which includes “N” members, is effectively a byte-synchronous stream. If the VCAT group is symmetric, there are “N” receiving members of the group and “N” transmitting members of the group. Alternatively, if the VCAT group is asymmetric, there may be “N” receiving members of the group and any number of transmitting members of the group. In general, VCAT enables data, e.g., SONET or SDH payloads, to be carried in smaller bandwidth “containers” such as synchronous payload envelopes through a network to a destination at which the data is reassembled. The smaller bandwidth containers are effectively used to create a higher bandwidth overall connection between two end points.
FIG. 1A is a block diagram representation of a virtual concatenation (VCAT) group within a network. Within a transport network 102, data may be sent from a source 110 to a destination 120. It should be appreciated that source 110 and destination 120 are generally network elements that send and to receive, respectively. Source 110 and destination 120 are in communication over a VCAT group 106 that is arranged to include different paths over which data may travel at substantially the same time.
VCAT group 106, as shown in FIG. 1B, includes a VCAT source 132 and a VCAT receiver or sink 134. VCAT receiver 134 is generally a path terminating device. In general, as previously mentioned, VCAT group 106 includes “N” member or paths. VCAT group 106 is shown as including four paths, namely paths 144, 148, 152, 156. Path 144 passes through network elements 140a, 140b, and includes links 144a-c. Path 148 also passes through network elements 140a, 140b, but includes links 148a-c. Path 152 includes links 152a, 152b, and passes through a network element 140c, while path 156 includes links 156a, 156b, and passes through a network element 140d. 
Each path 144, 148, 152, 156 may be identified by a sequence number. Sequence numbers typically range from zero to “N−1”. As VCAT group 106 includes four paths, sequence numbers associated with VCAT group 106 range from zero to three. Typically, sequence numbers associated with paths 144, 148, 152, 156 must be verified by VCAT receiver 134. That is, VCAT receiver 134 verifies that the sequence numbers associated with paths 144, 148, 152, 156 match expected sequence numbers stored within VCAT receiver 134. VCAT receiver 134 uses the sequence numbers to reconstruct an overall data stream that was sent on paths 144, 148, 152, 156.
The ability to verify sequence numbers or, more specifically, to identify sequence mismatch defects associated with a VCAT group is crucial to ensure the integrity of the VCAT group. When a VCAT group is configured, a person responsible for configuring the VCAT group generally must have a detailed understanding of the hardware capabilities of a VCAT receiver associated with the VCAT group, as that person typically specifies the expected sequence numbers in the VCAT receiver. Specifying expected sequence numbers in a VCAT receiver may be a time-consuming task, as the hardware capabilities of the VCAT receiver are often complicated to comprehend.
In some implementations, expected sequence numbers that are used to identify sequence mismatch defects are programmed into a VCAT receiver dynamically based on sequence numbers received, for example, during a polling cycle associated with the VCAT receiver. Such programming may occur using software or using hardware which programs expected sequence numbers in real-time. Generally, a static VCAT receiver has provisioned, expected sequence numbers. These expected sequence numbers may be supplied by network elements that are in communication with the static VCAT receiver either explicitly or implicitly, e.g., derived from a parameter provided by the network elements. A dynamic VCAT receiver typically does not have any provisioned, expected sequence numbers. For a static VCAT receiver, an issue arises regarding the accuracy of received sequence numbers that are used as expected sequence numbers. If the received sequence numbers are invalid, e.g., either greater than “N−1” for an “N” member VCAT group or duplicated, using invalid sequence numbers as expected sequence compromises the integrity of the VCAT group and, hence, the overall network of which the VCAT group is a part.
Therefore, what is needed is a method and an apparatus which allows sequence mismatch defects to be accurately and efficiently detected. That is, what is desired is a system which enables sequence mismatch defects associated with one or more members of a VCAT group to be identified dynamically.